Appearance
命令行工具
DOS命令
tab 命令补全
DOS终端唤醒:
通过运行唤醒: win+R运行cmd
快捷方式唤醒: 点击资源管理器路径 全选路径 输入cmd文件浏览
进入对应系统盘 盘符名称: | c:
进入目录 cd 目录名 | cd day33
退出一级目录 cd..
查看文件列表 dir
清空命令 cls
退出DOS exit
创建目录 mkdir 目录名 | mkdir src
删除目录 rmdir 目录名 | rmdir src
创建文件 copy con 文件| copy con a.txt ctrl+z回车 结束创建过程
删除文件 del 文件名 | del a.txtsass样式处理
Linux命令
bash终端唤醒
右键 git bash本地文件浏览
进入目录 cd 目录 | cd day33
退出目录 cd ..
文件列表 ls/dir
清空命令 clear
打开文件 cat 文件名 | cat index.html
查看IP ipconfiggit版本管理工具
分布式管理,多人协作代码管理。每一次提交自动记录一个版本,可回到任意的一个时间点。
配置用户信息
配置用户名 git config --global user.name 用户名
配置邮箱 git config --global user.email 邮箱
配置ssh公钥 ssh-keygen -t rsa -C 邮箱
读取配置信息 git config --list
项目初始化(空的文件夹)
初始目录 git init
添加地址 git remote add origin 远程仓库地址
下载代码 git pull --rebase origin 主分支名
首次提交 git push -u origin 主分支名
项目初始化(完成部分工作的文件夹)
初始目录 git init
添加地址 git remote add origin 远程仓库地址
下载代码 git pull --rebase origin 主分支名
创建子分支 git branch 子分支名称
切换子分支 git checkout 子分支名称
提交暂存 git add .
提交本地 git commit -m 版本说明
首次提交 git push -u origin 分支名称
项目首次拉取
克隆代码 git clone https地址或ssh地址
进入项目 cd 项目名
创建子分支 git branch 子分支名称
切换子分支 git checkout 子分支名称
提交操作
提交暂存 git add .
提交本地 git commit -m 版本说明
提交仓库 git push origin 分支名称 (注:若多个仓库,则需上传多次,并改变地址名)
分支管理
创建分支 git branch 分支名称 (注:新分支拥有原分支所有文件)
切换分支 git checkout 分支名称
创建并切换分支 git checkout -b 分支名称
创建并切换分支 git branch -M 分支名称
合并分支 git merge 被合并的分支名称 (注:内容有冲突会提示)
查看分支 git branch
代码回滚(不可复原)
查看提交信息 git log (注:看完日志有bug,需重启git bash)
回滚代码 git reset --hard 版本哈希值 (注:此时正常提交会提醒版本过时)
强推到远程 git push origin head --force
文件存取
对比代码 git status
指定文件缓存 git add 指定文件名
指定目录缓存 git add 指定目录名/
全部文件暂存 git add .
全部文件暂存 git add --all
文件移出缓存 git rm --cached 文件名
提交本地服务器 git commit -m 提交版本说明
缓存并提交本地 git commit -am 提交版本说明
提交至远程仓库 git push origin 分支名
从拉取远程仓库 git pull origin 分支名
其他操作
查看帮助 git --help注:代码回滚上传远程仓库后不可复原
Node.js
Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境
Node.js的模块使用 require 引入,内置模块和插件模块直接引入,自定义模块引入时写相对路径
安装node.js
nodejs环境和npm包管理工具,需打包安装(两者的版本号相对应)
安装方式
1.nodejs安装包 2.mvn版本管理工具 注:两种方式采用一种即可
安装mvn版本管理工具
使用mvn版本工具安装node.js 默认安装路径: C:\Users\用户名AppData\Roaming\nvm
一、下载并安装nvm-windows
二、配置系统变量,配置路径:我的电脑/属性/高级设置/环境变量/系统变量
NVM_HOME: C:\Users\Pc\AppData\Roaming\nvm
NVM_SYMLINK: C:\Program File\node.js
path追加: %NVM_HOME% 和 %NVM_SYMLINK%
三、更改下载源
在安装目录/settings.txt中追加代码
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/mvn命令
查看可用版本 nvm list available 查看可下载的nodejs版本信息,LTS列表示稳定版本
查看已有版本 nvm list 列出当前电脑下的Node.js的版本列表
切换版本 nvm install 版本号 安装某一个版本
安装版本 nvm use 版本号 切换某一个版本注:如果npm没有同步安装,则需从node.js官网下载对应版本的npm,安装在版本文件夹内(node_modules/npm)
基本操作
命令行工具通用操作
ls 查看当前路径的所有文件
dir 查看当前路径的所有文件
tab 补全命令
↑ 查看历史命令
cd 目录名 进入目录
软件名 --version 查看软件版本(简写 -v)执行node.js文件
node js文件 注:js文件的后缀名可以省略node.js文件监听插件
nodemon:每次保存触发监听
supervisor: 每秒触发监听
npm install nodemon -g
npm install supervisor -g内置模块
Node.js内部提供的模块,直接加载参考api使用,无需安装。
内置模块通常为异步操作(async),在方法后添加syn可转换为同步操作
path路径模块
当前目录__dirname
表示当前目录路径的字符串
路径拼接path.join([...paths])
返回值:拼接后路径(字符串)
参数:多个路径paths(字符串)
let url = path.join(__dirname,'src','html','index.html') 例:主页路径查找后缀path.extname(path)
返回值:文件后缀(字符串)
参数:路径path(字符串)
let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
let ext = path.extname(url) 返回:.md查找路径path.dirname(path)
返回值:网页路径(字符串)
参数:路径path(字符串)
let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
let dirname = path.dirname(url) 返回:\C:\Users\41702\Documents\_note查找文件名path.basename(path[,ext]);
返回值:文件名(字符串)
参数:路径path(字符串)
参数:末尾去除部分ext(字符串)
let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
let dirname = path.basename(url) 返回:JAVAScript笔记2021.8.18.b.md
let dirname = path.basename(url,8.b.md) 返回:JAVAScript笔记2021.8.1fs文件系统
目录
增加目录/文件
创建目录fs.mkdir(url,(err)=>{}) 创建文件fs.writeFile(file, data[, options], callback)
删除目录/文件
删除目录fs.rmdir(url,(err)=>{}) 删除文件fs.unlink(url,(err)=>{})
重命名目录/文件
重命名目录/文件fs.rename(oldurl,newurl,(err)=>{})
查找目录/文件
读取目录fs.readdir(url,(err,files)=>{}) 读取文件fs.readFile(url,[encoding],(err,files)=>{})创建目录fs.mkdir(url,callback)
参数:新目录路径url(字符串) 注:只能创建一层目录
参数:运行结束后执行的函数callback
回调参数:错误err
fs.mkdir(path.join(__dirname, 'src'), err => { //创建目录src
if (err) throw err; //如果有错误,则抛错
console.log('创建成功');
})创建文件fs.writeFile(file, data[, options], callback)
参数:新文件路径url(字符串) 注:路径中目录需已存在,且路径包含文件名
参数:新文件内容data(字符串)
参数:**[编码格式] ** 注:通常为空,或utf-8
参数:运行结束后执行的函数callback
回调参数:错误err
fs.writeFile(path.join(__dirname, 'src/test.txt'), 'hello', err => { //创建文件test.txt
if (err) throw err; //如果有错误,则抛错
console.log('创建成功');
});删除目录fs.rmdir(url,callback)
参数:目标目录路径url(字符串) 注:若目录中有文件,则报错
参数:运行结束后执行的函数callback
回调参数:错误err
fs.rmdir(path.join(__dirname, 'src'), err => { //删除目录src
if (err) throw err; //如果有错误,则抛错
console.log('删除成功');
})删除文件fs.unlink(url,callback)
参数:目标文件路径url(字符串)
参数:运行结束后执行的函数callback
回调参数:错误err
fs.unlink(path.join(__dirname, 'src/test.txt'), err => { //删除文件test.txt
if (err) throw err; //如果有错误,则抛错
console.log('删除成功');
})重命名目录/文件fs.rename(oldurl,newurl,callback)
参数:源目录/文件路径oldurl(字符串)
参数:目标目录/文件路径newurl(字符串)
参数:运行结束后执行的函数callback
回调参数:错误err
let oldurl = path.join(__dirname, 'src/test.txt')
let newurl = path.join(__dirname, 'src/new.txt')
fs.rename(oldurl,newurl, err => { //将test.txt命名为new.txt
if (err) throw err; //如果有错误,则抛错
console.log('删除成功');
})读取目录fs.readdir(url,callback)
参数:目标目录url(字符串)
参数:运行结束后执行的函数callback
回调参数:错误err
回调参数:目录中的文件名集files(数组)
fs.readdir(path.join(__dirname, 'src/'), (err, files) => {
if (err) throw err;
console.log(files); //返回目录中的所有文件
});读取文件fs.readFile(url,[encoding],callback)
参数:目标目录url(字符串)
参数:编码格式encoding(字符串) 注:通常为空,或utf-8
参数:运行结束后执行的函数callback
回调参数:错误err
回调参数:目录中的文件名集data(数组)
fs.readFile(path.join(__dirname, 'src/'), (err, data) => {
if (err) throw err;
console.log(data); //返回二进制的文件内容
});
fs.readFile(path.join(__dirname, 'src/'),'utf-8', (err, data) => {
if (err) throw err;
console.log(data); //返回utf-8的文件内容
});http服务器模块
创建服务器http.createServer(callback)
回调参数:请求request
回调参数:响应response
回调方法:设置请求头response.setHeader('Access-Control-Allow-Origin', '*') 解决跨域
回调方法:设置请求头response.writeHead(statusCode状态码, [reasonPhrase数据类型], [{headers响应头}])
回调方法:响应内容response.write(响应内容)
回调方法:响应内容response.end([响应内容])
链式方法:监听链接listen([port端口号],[host主机],callback)
http.createServer((request,response)=>{
response.setHeader('Access-Control-Allow-Origin', '*');
response.writeHead(200,{'Content-Type': 'text/html;charset=utf-8'}); //设置文档类型和字符编码
response.write('<h1>hellow world</h1>'); //响应的内容
response.end(); //响应结束
}).listen(port, host,()=>{
console.log(`The server is running http://${host}:${port}`); //监听
});自定义模块
参考commonjs规范由用户采永js书写的模块。
npm包管理工具
第三方模块一般都是从npmjs.com这个网站拉取,需要使用npm进行安装。
npm利用模块对象代码
npm使用基础
安装npm
npm基于Node.js环境,因此首先安装Node.js(Nodejs环境+npm包管理工具)
npm会和nodejs环境一并安装
注:node安装时,需按默认选项,安装至c盘
初始化npm
自动创建 package.json插件目录 和 node_modules插件文件夹
$ npm init自动加载目录
将目录中的插件,加载进node_modules插件文件夹
$ npm install切换安装源
由原本的服务器,切换成国内的服务器,改变插件的下载速度
nrm镜像源管理工具
安装rnm:npm i nrm -g
镜像列表:nrm
切换镜像:nrm use 源的名称
cnpm淘宝源(常用)
$ npm install -g cnpm --registry=https://registry.npm.taobao.org 切换淘宝源gulp模块
安装gulp
$ npm install gulp -g glup全局安装
$ npm install gulp -D glup开发环境安装
$ npm install gulp -S glup生产环境安装安装gulp插件
$ cnpm i 插件名 -D
$ cnpm i gulp-rename -D 改名
$ cnpm i gulp-htmlmin -D 压缩html文件
$ cnpm i gulp-cssmin -D 压缩css文件
$ cnpm i gulp-uglify -D 压缩js文件
$ cnpm i gulp-imagemin -D 压缩图片
$ cnpm i gulp.spritesmith -D 制作精灵图
$ cnpm i gulp-concat -D 合并文件
$ cnpm i gulp-less -D 编译less使用gulp
使用gulp方法前,需先安装和引入
创建任务gulp.task()
参数1:taskname任务名(字符串)
参数2:calback执行内容(函数)
文件源gulp.src()
参数1:url源文件路径(字符串)
输出设置gulp.dest()
参数1:url源文件路径(字符串)
工厂链 .pipe()
参数:调用下一个步骤的函数(函数)
执行gulp
$ gulp 任务名express路由框架
express是个脚手架,通常作为后端使用
安装/创建express
全局安装
npm i express-generator -g
项目创建
express -e . 在当前目录,创建 ejs 模板的express脚手架
express -e 文件名 在当前目录的'文件名'目录中,创建 ejs 模板的express脚手架运行express
加载package.json目录中的模块
npm i
运行路由器
npm start 通过内置于目录中的调试命令,快捷启动cors跨域路由
配合express脚手架使用,在app中路由之前引用可解决跨域问题
安装
$ npm install cors -S 也可能是-D,都试一遍,然后回来改笔记
使用
app.use(cors()); 在其他路由设置之前设置
app.use('/api', registerRouter);
app.use('/users', usersRouter);mongoose数据库
使用js代码操作mongoose数据库
安装mongoose
$ npm install mongoose -g